import greenfoot.*;  // (World, Actor, GreenfootImage, and Greenfoot)

import java.awt.Color;
import java.awt.Graphics;

/**
 * Muestra un prefijo, seguido de un número.
 * @author Mario Alberto Valencia Valero
 */
public class Contador extends Actor
{
    private int valor = 0;
    private String texto;
    private int longitudCadena;

    /**
     * Constructor
     */
    public Contador()
    {
        this("");
    }
    
    /**
     * Constructor
     * @param prefijo  cadena de prefijo
     * @param numero  valor del numero a mostrar
     */
    public Contador(String prefijo, int numero)
    {
        texto = prefijo;
        valor = numero;
        longitudCadena = (texto.length() + 6) * 10;

        setImage(new GreenfootImage(longitudCadena, 16 ));
        GreenfootImage image = getImage();
        image.setColor(java.awt.Color.WHITE);
        image.fill();
        actualizaImagen();
    }
    
    /**
     * Constructor
     * @param prefijo  prefijo a mostrar en el contador
     */
    public Contador(String prefijo)
    {
        texto = prefijo;
        longitudCadena = (texto.length() + 6) * 10;

        setImage(new GreenfootImage(longitudCadena, 16 ));
        GreenfootImage image = getImage();
        image.setColor(java.awt.Color.WHITE);
        image.fill();
        actualizaImagen();
    }
    
    /**
     * Regresa el valor del contador.
     */
    public int dameValor()
    {
        return valor;
    }

    /**
     * Cambiar el valor del contador.
     * @param val  el valor a poner
     */
    public void ponValor(int val)
    {
        valor = val;
        actualizaImagen();
    }
    
    /**
     * Actualiza la imagen del contador.
     */
    private void actualizaImagen()
    {
        GreenfootImage image = getImage();
        image.clear();
        image.setColor(java.awt.Color.WHITE);
        image.fill();
        image.setColor(java.awt.Color.BLUE);
        image.drawString(texto + valor, 1, 12);
    }
}
